package com.hnjfzn.common.core.utils;

public class AreaUtil {
    /**
     * 根据 code 返回模糊查询格式
     *
     * @param code 地区标识
     * @return 模糊查询格式
     */
    public static String getFuzzyQuery(String code) {
        // 确保 areaId 是一个合法的12位编码
        if (null == code || code.length() != 12) {
            throw new IllegalArgumentException("areaId must be a 12-digit string.");
        }

        // 将 areaId 按照规则分段
        String[] parts = {
                code.substring(0, 2),  // 省级部分
                code.substring(2, 4),  // 市级部分
                code.substring(4, 6),  // 区级部分
                code.substring(6, 9),  // 街道级部分
                code.substring(9, 12)  // 社区级部分
        };

        if (parts[1].equals("00") && parts[4].equals("000")){
            return parts[0] + "%";
        } else if (parts[2].equals("00") && parts[4].equals("000")){
            return parts[0] + parts[1] + "%";
        } else if (parts[3].equals("000") && parts[4].equals("000")){
            return parts[0] + parts[1] + parts[2] + "%";
        } else if (parts[4].equals("000")){
            return parts[0] + parts[1] + parts[2] + parts[3] + "%";
        } else {
            return code;
        }
    }
}
